﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;

namespace QuanLyKho
{
    class NhapKhau
    {
        public DateTime Ngay { get; set; }
        public bool DaXacNhan { get; set; }
        public bool DaTraTien { get; set; }
        public double TongCong { get; set; }
        public string SoChungTu { get; set; }
        public string TenNhaCungCap { get; set; }
        public string MaHopDong { get; set; }
        public string LoaiTien { get; set; }
        public string GhiChu { get; set; }

        public NhapKhau() { }

        public NhapKhau(string soChungTu, DateTime ngay, string tenNhaCungCap, string maHopDong, string loaiTien, bool daXacNhan, bool daTraTien, double tongCong, string ghiChu)
        {
            SoChungTu = soChungTu;
            Ngay = ngay;
            TenNhaCungCap = tenNhaCungCap;
            MaHopDong = maHopDong;
            LoaiTien = loaiTien;
            DaXacNhan = daXacNhan;
            DaTraTien = daTraTien;
            TongCong = tongCong;
            GhiChu = ghiChu;
        }

        public void insert(TaiKhoan taiKhoan)
        {
            string[] para = { "@SoChungTu", "@Ngay", "@TenNhaCungCap", "@MaHopDong", "@LoaiTien", "@DaXacNhan", "@DaTraTien", "@TongCong", "@TenTaiKhoan", "@GhiChu" };
            string[] values = { SoChungTu, Ngay.ToShortDateString(), TenNhaCungCap, MaHopDong, LoaiTien, DaXacNhan.ToString(), DaTraTien.ToString(), TongCong.ToString(), taiKhoan.ID, GhiChu };

            connection.Excute("proc_insertNhapKhau", CommandType.StoredProcedure, para, values, taiKhoan);
        }
        public void update(TaiKhoan taiKhoan)
        {
            string[] para = { "@SoChungTu", "@Ngay", "@TenNhaCungCap", "@MaHopDong", "@LoaiTien", "@DaXacNhan", "@DaTraTien", "@TongCong", "@TenTaiKhoan", "@GhiChu" };
            string[] values = { SoChungTu, Ngay.ToShortDateString(), TenNhaCungCap, MaHopDong, LoaiTien, DaXacNhan.ToString(), DaTraTien.ToString(), TongCong.ToString(), taiKhoan.ID, GhiChu };

            connection.Excute("proc_updateNhapKhau", CommandType.StoredProcedure, para, values, taiKhoan);
        }
        public void delete(TaiKhoan taiKhoan)
        {
            string[] para = { "@SoChungTu", "@Ngay" };
            string[] values = { SoChungTu, Ngay.ToShortDateString() };

            connection.Excute("proc_deleteNhapKhau", CommandType.StoredProcedure, para, values, taiKhoan);
        }
        public static DataTable getList(TaiKhoan taiKhoan)
        {
            DataSet ds = connection.FillDataSet("proc_getDanhSachNhapKhau", CommandType.StoredProcedure, null, null, taiKhoan);
            try
            {
                return ds.Tables[0];
            }
            finally
            {
                if (ds != null)
                    ((IDisposable)ds).Dispose();
            }
        }
    }
}